home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 11361 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  5.8 KB

  1. Path: nnrp.info.ucla.edu!jmartin
  2. From: jmartin@cs.ucla.edu (Jay Martin)
  3. Newsgroups: comp.lang.c++,comp.lang.eiffel,comp.lang.c,comp.object,comp.software-eng
  4. Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
  5. Date: 14 Mar 1996 04:07:55 GMT
  6. Organization: University of California, Los Angeles
  7. Message-ID: <4i862r$1evq@saba.info.ucla.edu>
  8. References: <1995Jul3.034108.4193@rcmcon.com> <3taaha$p8j@ixnews3.ix.netcom.com>     <3taodp$859@saba.info.ucla.edu> <3tap9h$qp3@saba.info.ucla.edu>     <314628F2.31C8@aud.alcatel.com> <RMARTIN.96Mar13110714@rcm.oma.com>
  9. NNTP-Posting-Host: may.cs.ucla.edu
  10. X-Newsreader: NN version 6.5.0.b3.0 #9 (NOV)
  11.  
  12.  
  13. Geez, when was this thread, a year ago?  Well to recap ancient
  14. history it started when Robert Martin (below) called Bertrand Meyer a
  15. bigot for warning managers about C hacker types.  Rewind thread!
  16.  
  17.  
  18. rmartin@oma.com (Robert C. Martin) writes:
  19.  
  20. >   Jay Martin wrote:
  21. >   > Rabid worship of C increases the probabilty the person is a hacker.
  22.  
  23. >Rabid worship of any language is inappropriate.  Languages are tools,
  24. >no more, no less.  However, rabid worship of C in particular does not
  25. >increase the probability that one is a hacker; since hacking is an
  26. >attitude with regard to the way tools are used, not an attitude about
  27. >*which* tools to use.  Hacking is "Programming for the moment", as
  28. >opposed to "Programming for the Future".  
  29.  
  30. No "hacking" is broader than that, it is writing poor code period. It
  31. is writing low level or obscure code when it is unnecessary because
  32. you think that its great.  You usually don't see such behavior in
  33. then Eiffel, Ada, Modula*,etc communities.  You only compromise your
  34. software (like writing low level code) when you have a "gun to your
  35. head", then you must curse like hell!  
  36.  
  37. Note that when I use the term "Software Engineering", I am talking
  38. about optimizing the design and implementation of software which means
  39. using the best tools and techniques.  I don't believe in defining SE
  40. as something that only concentrates on processes.  Practical
  41. limitations like "Johnny only knows COBOL" or "tool implementation
  42. Y on target X sucks", are not software engineering technology 
  43. decisions that are at all satisfying.
  44.  
  45. >   > The basic tenents of C culture are anti-software engineering.
  46.  
  47. >There is no C culture.  C is a language, a tool, not a culture.
  48. >Associating a tool with a culture is rather like associating a skin
  49. >color with a culture.  There is a word for that.  The word is
  50. >bigotry.  
  51.  
  52. >Are there C programmers that are hackers?  Sure.  Are there Eiffel
  53. >programmers who are hackers?  Sure.  What is the proportion?  I'd be
  54. >surprised if a statistical analysis of the difference between the
  55. >proportions of C and Eiffel hackers differed significantly from
  56. >chance.  However, I doubt very much if any such study will be
  57. >conducted.  Thus, any assertion regarding the whether the proportions
  58. >are different is based upon opinion and not fact.
  59.  
  60. First see,"I Corporation"'s recent post under "Beware of "C"
  61. Hackers..." in "comp.software-eng" which excelently conveys my basic
  62. feelings on this issue.
  63.  
  64. You have no studies to backup that Eiffel and C programmers are
  65. magically identical so this is just a red herring. (The reason for no
  66. studies is that someone needs to shove a shotgun in the face academic
  67. computer science and pull the trigger).  Competent software engineers
  68. are not hackers.  Hackers do not like the restrictiveness of an
  69. Eiffel or an Ada or any other software engineering language, thus
  70. these languages are not likely to attract hackers.  C is
  71. unrestrictive and attracts hackers in droves.  I have never worked
  72. with an Eiffel programmer, but given an Eiffel programmer spouting
  73. high level design and implementation concepts and a C programmer who
  74. says "I use pointer arithmetic cuz it may be faster, I don't trust no
  75. compilers" and "I write terse code all on my line cuz its cool like
  76. mathematics and gee, I is a mathematical genius or something",
  77. the Eiffel programmer is basically going to get the job. 
  78.  
  79. In my book, to be a competent software engineer you must must also be
  80. an very knowledgable at computer language design and also compiler 
  81. optimization.  Its common knowledge that C is poorly designed and
  82. thus rabid worshipers of C are not too swift.
  83.  
  84. >   > (1) C makes low level code extremely easy to create and the C culture
  85. >   >     says that low level code is cool.
  86.  
  87. >C also makes high level code easy to create, and there are many of us
  88. >who say that "high level code is cool". 
  89.  
  90. If C is so wonderful for making high level code, then what the bleep
  91. was C++ invented for?  Most code written in C is low level crap. Is
  92. it "easier" in C to write high level code than other "high level"
  93. languages?  I don't have problems with high level C programmers who
  94. understand the limitations of their tools.  I don't see "rabid C
  95. fanatics" who mostly worship the low level in this catagory.
  96.  
  97. Culture is everywhere.  I have seen many FORTRAN programmers have
  98. brain seizures when they first saw identifiers longer than 6
  99. characters and of lower/mixed case.  I see correlations between
  100. C/Unix fanatics and poor software engineering opinions and
  101. attitudes.  Its politically correct nonsense for human beings not to
  102. try to identify patterns of behavior.   So if a programmer starts
  103. spouting nonsense and doesn't have what I label as a correct software
  104. engineering opinions and attitude, I am not impressed.  I guess I am a
  105. bigot, a bigot against incompetency.
  106.  
  107. To demonstrate the "C hacker culture" (filed under macho attitudes)
  108. here's a random recent example:
  109.  
  110. rmartin@oma.com (Robert C. Martin) writes:
  111.  
  112. >No, I disagree with your point.  It is not the responsibility of the
  113. >language to make the engineer better.  It is the responsibility of the
  114. >engineer to become adept at the language.
  115.  
  116. Clear demonstration of views that have left software engineering
  117. and entered the "C Hacker Zone".
  118.  
  119. Jay
  120.